In general, networks and computers operate in different manners. Networks operate by transferring data in streams and/or packets. Streams may be bit-sized, byte-sized, or otherwise broken down. Packets may be of relatively large size, such as 64, 512, or more bytes each. Computers operate by processing data, typically in well-defined small sizes, such as bytes (8 bits), words (16 bits), double words (32 bits) and so on. At the interface between a computer and a network, a translation or reorganization of data may be necessary. This may include reorganizing data from a series of packets into a format useful to a processor. In particular, this may include taking data bits of a series of bytes and reorganizing them into a form including only data bits. A similar problem may occur at a byte-level, wherein some bytes of a group of bytes are data bytes, and other bytes are effectively control bytes which need to be parsed out of data.
The data transferred on a network is typically transferred as part of a frame, which may be similar to but distinct from a packet in some circumstances. FIG. 1 illustrates an embodiment of a conventional framer. Framer 110 is designed for coupling to a physical link layer through a first interface 105 and for coupling to a network processor for example through a second interface 195. Coupled to each of interfaces 105 and 195 are a series of frame and deframe modules, each dedicated to a single channel. Channel 1 frame module 120 frames data for transmission and channel 1 deframe module 125 deframes received data for channel 1. Similarly, Channel 2 frame module 130 frames data for transmission and channel 2 deframe module 135 deframes received data for channel 2. Correspondingly, Channel n frame module 180 frames data for transmission and channel n deframe module 185 deframes received data for channel n.
As such, this structure requires one frame module and one deframe module for each channel handled by the framer. For a single channel design, this may be close to optimal. However, when multiple channels are involved, this design does not scale well to account for additional channels. For an eight channel device, either eight separate framers (such as framer 110 for example) would be required, or a single framer with eight individual framer modules and eight individual deframe modules would be required. This potentially would cause logistical problems with regard to use of the interfaces 105 and 195, and also causes problems in terms of extra resources required and larger components.